package administracion;

import java.util.ArrayList;
import java.util.List;

import dao.ProductoDAO;
import dto.ProductoDTO;
import entity.ElaboradoNoVenta;
import entity.ElaboradoVenta;
import entity.Producto;

public class ProductoManager {

	private static ProductoManager instancia;
	private ProductoDAO dao = ProductoDAO.getInstancia();
	
	private ProductoManager() {
		
	}
	
	public static ProductoManager getInstancia(){
		if(instancia == null)
			instancia = new ProductoManager();
		return instancia;
	}

	public List<ProductoDTO> listarProductos() {
		List<Producto> lista = dao.listarProductos();
		List<ProductoDTO> result = new ArrayList<ProductoDTO>();
		
		for(Producto p: lista){
			result.add(p.getDTO());
		}
		return result;
	}

	public List<ProductoDTO> listarProductosElaborados() {
		List<Producto> lista = dao.listarProductos();
		List<ProductoDTO> result = new ArrayList<ProductoDTO>();
		
		for(Producto p: lista){
			if(p instanceof ElaboradoVenta || p instanceof ElaboradoNoVenta){
				result.add(p.getDTO());
			}
			
		}
		return result;
	}
	
}

